<?php
/**
 * curl 获取数据
 * @param $url 访问地址
 * @return bool|string
 */
function http_get($url)
{
    $curl = curl_init();
    $httpHeader[] = "Accept:*/*";
    $httpHeader[] = "Accept-Language:zh-CN,zh;q=0.8";
    $httpHeader[] = "Connection:close";
    curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1");
    curl_setopt($curl, CURLOPT_HTTPHEADER, $httpHeader);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_TIMEOUT, 3);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($curl, CURLOPT_URL, $url);
    $res = curl_exec($curl);
    curl_close($curl);
    return $res;
}

/**
 * 计算两个日期间隔的天数
 * @param $startTime    起始时间
 * @param $endTime      结束时间
 * @return float|int
 */
function time_interval($startTime, $endTime)
{
    // 其实日期
    $startTimeStamp = strtotime($startTime);
    // 结束日期
    $endTimeStamp = strtotime($endTime);
    // 如果其实日期小于结束日期则交换两个日期的值
    $startTimeStamp < $endTimeStamp && list($endTimeStamp, $startTimeStamp) = [$startTimeStamp, $endTimeStamp];
    // 计算两个日期的相差多少天
    return ($startTimeStamp - $endTimeStamp) / 86400;
}

/**
 * 写入文件
 * @param $text 写入内容
 */
function write_file($text)
{
    $file = fopen('duyan.txt', 'a+');
    fwrite($file, $text);
    fclose($file);
    clearstatcache(); // 清除文件缓存
}

/**
 * 抓取/组装数据
 * @param $url  抓取数据地址
 * @param $time 需要哪天的数据
 * @return string
 */
function handle_data($url, $time)
{
    // 获取数据
    $jsonStr = http_get($url . $time);
    // 将抓取到的数据转换成数组
    $data = json_decode($jsonStr, true);
    $text = '';
    if ( $data['data'] ) {
        foreach ($data['data'] as $content) {
            $text .= $content['data'] . '\n';
        }
    }
    return $text;
}

/**
 * 统一输出
 * @param $content          // 输出内容
 * @param string $encode    // 输出格式，默认 json
 */
function uni_print($content, $type)
{
    switch ( $type ) {
        case 'text':
            echo $content;
            break;
        case 'js':
            echo 'function dujitang(){document.write("'. htmlspecialchars($content) .'");}';
            break;
        default:
            $result = [
                'code' => 200,
                'msg' => 'success',
                'data' => [
                    'content' => $content
                ]
            ];
            echo json_encode($result);
    }
    die;
}

/**
 * 调试输出
 * @param $param 输出参数
 */
function d($param) {
    echo '<pre style="color: white; background:black; display: inline-block; padding: 10px;">';
    var_dump($param);
    echo "</pre>";
}

/**
 * 断点调试输出
 * @param $param 输出参数
 */
function dd($param) {
    d($param);
    die;
}
